滲透測試(Penetration Testing)是模擬駭客的行為模式,並以適當工具進行系統入侵的測試行為,目的在發現系統的漏洞,提供後續修復的參考依據,滲透測試可以讓公司知道本身網站的弱點為何,是否可能成為駭客攻擊的對象,但是完成滲透測試並順利地通過的公司網站,就不會被駭客攻擊嗎?當然不一定,因為完成滲透測試僅確保公司系統或網站擁有一定程度的阻絕攻擊能力,就像是家中裝了一扇新的門,找了許多的開鎖專家用了破壞工具嘗試入侵一般,即使該扇門最後都沒被破解,也無法保證隨著科技的日新月異,是否還能夠阻擋所有的惡意行為。
依據NIST(National Institute of Standards and Technology,美國國家標準技術研究所)800-42文件中指出,滲透測試區分為四個階段:計畫、發掘、攻擊、報告,四項流程關係如下圖所示。
(圖片出處:NIST Special Publication 800-42)
此階段必須定義滲透測試的計劃,內容包含測試規則、範疇及目標,並由委託方及受託方簽訂合約以規劃兩造雙方權利義務,相關內容可參考國家資通安全會報發布的政府機關滲透測詴服務委外服務案建議書徵求文件(V2.0)。
該階段開始進行實際的測試,並蒐集及探索目標資訊,最常使用的方法就是掃描服務端口,以利我們了解系統提供哪些服務,後續將做更詳細的介紹。
該階段為滲透測試的核心階段,利用上步驟中蒐集到的資訊加上適當的工具進行滲透行為,若此階段發現有資訊不足的情況,可以回頭再進行發掘的階段
此階段必須依測試的結果撰寫測試報告,並按照合約內容於時限內、依格式交付相關文件,方能完成滲透測試,該份報告將提供給委託方藉以修訂其資訊安全政策及作為。
利用工具或資源蒐集目標網站的相關資訊,如主機資料、作業系統、版本等,可概分為被動偵測及主動偵測,前者利用已公開的資訊站蒐集資料,並不與目標機直接接觸,後者利用適當的工具進行服務偵測或掃描,則與目標主機進行封包交換。
最常見的竊聽行為就是封包蒐集,將利用工具蒐集而來的封包加以分析,企圖竊取目標主機的隱私資訊。
大家耳熟能詳的社交工程則是利用人性的弱點或是部分不當使用網路的行為,達到諸如植入木馬、開啟後門或是資訊竊取等惡意行為的目的。
利用現有工具對目標網站進行掃描,藉以得知其潛在的弱點,並於掃描後產生一份報告文件,提供系統擁有者進行系統修正。
看完本篇介紹滲透測試後,對於滲透測試應該有一定程度的了解,滲透測試的目的是為了提供組織或企業改善其資訊系統的一種方法,並非教導大家如何破壞他人系統喔!
(妨礙電腦使用等相關罪責已規範於刑法第36章,切勿以實際環境進行滲透測試)